<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>FLpanel</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="FLpack_end.html" title="FLpack_end" />
    <link rel="next" href="FLpanelEnd.html" title="FLpanelEnd" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">FLpanel</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="FLpack_end.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="FLpanelEnd.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="FLpanel"></a>
      <div class="titlepage"></div>
      <a id="IndexFLpanel" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">FLpanel</span>
        </h2>
        <p>FLpanel — 
      Creates a window that contains FLTK widgets.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp105555808"></a>
        <h2>Description</h2>
        <p>
      Creates a window that contains FLTK widgets.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp105598752"></a>
        <h2>Syntax</h2>
        <pre class="synopsis"><span class="command"><strong>FLpanel</strong></span> "label", iwidth, iheight [, ix] [, iy] [, iborder] [, ikbdcapture] [, iclose]</pre>
      </div>
      <div class="refsect1">
        <a id="idp105600832"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em><span class="quote">“<span class="quote">label</span>”</span></em></span> -- a double-quoted string containing some user-provided text, placed near the corresponding widget.
    </p>
        <p>
      <span class="emphasis"><em>iwidth</em></span> -- width of widget.
    </p>
        <p>
      <span class="emphasis"><em>iheight</em></span> -- height of widget.
    </p>
        <p>
      <span class="emphasis"><em>ix</em></span> (optional) -- horizontal position of upper left corner of the valuator, relative to the upper left corner of corresponding window (expressed in pixels).
    </p>
        <p>
      <span class="emphasis"><em>iy</em></span> (optional) -- vertical position of upper left corner of the valuator, relative to the upper left corner of corresponding window (expressed in pixels).
    </p>
        <p>
      <span class="emphasis"><em>iborder</em></span> (optional) -- border type of the container. It is expressed by means of an integer number chosen from the following:

      </p>
        <div class="itemizedlist">
          <ul class="itemizedlist" style="list-style-type: disc; ">
            <li class="listitem">
              <p>0 - no border</p>
            </li>
            <li class="listitem">
              <p>1 - down box border</p>
            </li>
            <li class="listitem">
              <p>2 - up box border</p>
            </li>
            <li class="listitem">
              <p>3 - engraved border</p>
            </li>
            <li class="listitem">
              <p>4 - embossed border</p>
            </li>
            <li class="listitem">
              <p>5 - black line border</p>
            </li>
            <li class="listitem">
              <p>6 - thin down border</p>
            </li>
            <li class="listitem">
              <p>7 - thin up border</p>
            </li>
          </ul>
        </div>
        <p>
    </p>
        <p>
      <span class="emphasis"><em>ikbdcapture</em></span> (default = 0) -- If this flag is set to 1, keyboard events are captured by the window (for use with <a class="link" href="sensekey.html" title="sensekey"><em class="citetitle">sensekey</em></a> and <a class="link" href="FLkeyIn.html" title="FLkeyIn"><em class="citetitle">FLkeyIn</em></a>)
    </p>
        <p>
      <span class="emphasis"><em>iclose</em></span> (default = 0) -- If this flag is set to anything other than 0, the close button of the window is disabled, and the window cannot be closed by the user directly. It will close when csound exits.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp105615760"></a>
        <h2>Performance</h2>
        <p>
      Containers are useful to format the graphic appearance of the widgets. The most important container is <span class="emphasis"><em>FLpanel</em></span>, that actually creates a window. It can be filled with other containers and/or valuators or other kinds of widgets.
    </p>
        <p>
      There are no k-rate arguments in containers.
    </p>
        <p>
      <span class="emphasis"><em>FLpanel</em></span> creates a window. It must be followed by the opcode <a class="link" href="FLpanelEnd.html" title="FLpanelEnd"><em class="citetitle">FLpanelEnd</em></a> when all widgets internal to it are declared. For example:
      </p>
        <div class="informalexample">
          <pre class="programlisting">
         <span class="opc">FLpanel</span>    "PanelPluto",450,550,100,100 <span class="comment">;***** start of container</span>
gk1, ih1 <span class="opc">FLslider</span>   "FLslider 1", 500, 1000, 2 ,1, -1, 300,15, 20,50
gk2, ih2 <span class="opc">FLslider</span>   "FLslider 2", 300, 5000, 2 ,3, -1, 300,15, 20,100
gk3, ih3 <span class="opc">FLslider</span>   "FLslider 3", 350, 1000, 2 ,5, -1, 300,15, 20,150
gk4, ih4 <span class="opc">FLslider</span>   "FLslider 4", 250, 5000, 1 ,11,-1, 300,30, 20,200
         <span class="opc">FLpanelEnd</span> <span class="comment">;***** end of container</span></pre>
        </div>
        <p>

      will output the following result:

      </p>
        <div class="mediaobject">
          <img src="images/flpanel.png" alt="FLpanel." />
          <div class="caption">
            <p>FLpanel.</p>
          </div>
        </div>
        <p>
    </p>
        <p>
      If the <span class="emphasis"><em>ikbdcapture</em></span> flag is set, the window captures keyboard events, and sends them to all <a class="link" href="sensekey.html" title="sensekey"><em class="citetitle">sensekey</em></a>. This flag modifies the behavior of <a class="link" href="sensekey.html" title="sensekey"><em class="citetitle">sensekey</em></a>, and makes it receive events from the FLTK window instead of stdin.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp105632736"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the FLpanel opcode. It uses the file <a class="ulink" href="examples/FLpanel.csd" target="_top"><em class="citetitle">FLpanel.csd</em></a>.

      </p>
        <div class="example">
          <a id="idp105634592"></a>
          <p class="title">
            <strong>Example 277. Example of the FLpanel opcode.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
<span class="comment">; Audio out   Audio in    No messages</span>
-odac           -iadc     -d     <span class="comment">;;;RT audio I/O</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">; -o FLpanel.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="comment">; Creates an empty window panel</span>
<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">kr</span> <span class="op">=</span> 441
<span class="ohdr">ksmps</span> <span class="op">=</span> 100
<span class="ohdr">nchnls</span> <span class="op">=</span> 1

<span class="comment">; Panel height in pixels</span>
ipanelheight <span class="op">=</span> 900
<span class="comment">; Panel width in pixels</span>
ipanelwidth <span class="op">=</span> 400
<span class="comment">; Horizontal position of the panel on screen in pixels</span>
ix <span class="op">=</span> 50
<span class="comment">; Vertical position of the panel on screen in pixels</span>
iy <span class="op">=</span> 50

<span class="opc">FLpanel</span> "A Window Panel", ipanelheight, ipanelwidth, ix, iy
<span class="comment">; End of panel contents</span>
<span class="opc">FLpanelEnd</span>

<span class="comment">;Run the widget thread!</span>
<span class="opc">FLrun</span>

<span class="oblock">instr</span> 1
<span class="oblock">endin</span>


<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>

<span class="comment">; 'Dummy' score event of 1 hour.</span>
<span class="stamnt">f</span> 0 3600
<span class="stamnt">e</span>


<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />
    </p>
      </div>
      <div class="refsect1">
        <a id="idp105638880"></a>
        <h2>See Also</h2>
        <p>
      <a class="link" href="FLgroup.html" title="FLgroup"><em class="citetitle">FLgroup</em></a>, 
      <a class="link" href="FLgroupEnd.html" title="FLgroupEnd"><em class="citetitle">FLgroupEnd</em></a>, 
      <a class="link" href="FLpack.html" title="FLpack"><em class="citetitle">FLpack</em></a>, 
      <a class="link" href="FLpackEnd.html" title="FLpackEnd"><em class="citetitle">FLpackEnd</em></a>, 
      <a class="link" href="FLpanelEnd.html" title="FLpanelEnd"><em class="citetitle">FLpanelEnd</em></a>, 
      <a class="link" href="FLscroll.html" title="FLscroll"><em class="citetitle">FLscroll</em></a>, 
      <a class="link" href="FLscrollEnd.html" title="FLscrollEnd"><em class="citetitle">FLscrollEnd</em></a>, 
      <a class="link" href="FLtabs.html" title="FLtabs"><em class="citetitle">FLtabs</em></a>, 
      <a class="link" href="FLtabsEnd.html" title="FLtabsEnd"><em class="citetitle">FLtabsEnd</em></a>, 
      <a class="link" href="sensekey.html" title="sensekey"><em class="citetitle">sensekey</em></a>
    </p>
      </div>
      <div class="refsect1">
        <a id="idp105649568"></a>
        <h2>Credits</h2>
        <p>Author: Gabriel Maldonado</p>
        <p>New in version 4.22</p>
        <p>Example written by Iain McCurdy, edited by Kevin Conder.</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="FLpack_end.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="FLpanelEnd.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">FLpack_end </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> FLpanelEnd</td>
        </tr>
      </table>
    </div>
  </body>
</html>
